<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>登陆Aster系统</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <link rel="stylesheet" th:href="@{/lib/layui-v2.5.5/css/layui.css}" href="../static/lib/layui-v2.5.5/css/layui.css"
          media="all">
    <link rel="stylesheet" th:href="@{/css/login.css}" href="css/login.css" media="all">
    <!--[if lt IE 9]>
    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
    <style>
        html, body {
            width: 100%;
            height: 100%;
            overflow: hidden
        }

        .layui-container {
            width: 100%;
            height: 100%;
            overflow: hidden
        }

        .admin-login-background {
            width: 360px;
            height: 300px;
            position: absolute;
            left: 50%;
            top: 40%;
            margin-left: -180px;
            margin-top: -100px;
        }

        .logo-title {
            text-align: center;
            letter-spacing: 2px;
            padding: 14px 0;
        }

        .logo-title h1 {
            color: #1E9FFF;
            font-size: 25px;
            font-weight: bold;
        }

        .login-form {
            background-color: #fff;
            border: 1px solid #fff;
            border-radius: 3px;
            padding: 14px 20px;
            box-shadow: 0 0 8px #eeeeee;
        }

        .login-form .layui-form-item {
            position: relative;
        }

        .login-form .layui-form-item label {
            position: absolute;
            left: 1px;
            top: 1px;
            width: 38px;
            line-height: 36px;
            text-align: center;
            color: #d2d2d2;
        }

        .login-form .layui-form-item input {
            padding-left: 36px;
        }

        .captcha {
            width: 60%;
            display: inline-block;
        }

        .captcha-img {
            display: inline-block;
            width: 34%;
            float: right;
        }

        .captcha-img img {
            height: 34px;
            border: 1px solid #e6e6e6;
            height: 36px;
            width: 100%;
        }
    </style>
</head>
<body>
<div class="layui-container">
    <div id="particles-js" style="display: flex;align-items: center;justify-content: center">
        <canvas class="particles-js-canvas-el" style="width: 100%; height: 100%;" width="1920" height="835"></canvas>
    </div>
    <div class="admin-login-background">
        <div class="layui-form login-form">
            <form class="layui-form" action="">
                <div class="layui-form-item logo-title">
                    <h1>Aster后台登录</h1>
                </div>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-username" for="username"></label>
                    <input type="text" name="username" lay-verify="required" placeholder="用户名"
                           autocomplete="off" class="layui-input">
                </div>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-password" for="password"></label>
                    <input type="password" name="password" lay-verify="required" placeholder="密码"
                           autocomplete="off" class="layui-input">
                </div>
                <div class="layui-form-item">
                    <label class="layui-icon layui-icon-vercode" for="validateCode"></label>
                    <input type="text" name="validateCode" lay-verify="required" placeholder="图形验证码"
                           autocomplete="off" class="layui-input verification captcha" value="">
                    <div class="captcha-img">
                        <img class="admin-captcha" th:src="@{captcha/captchaImage(type=${captchaType})}">
                    </div>
                </div>
                <div class="layui-form-item">
                    <input type="checkbox" name="rememberMe" value="true" lay-skin="primary" title="记住密码">
                </div>
                <div class="layui-form-item">
                    <button class="layui-btn layui-btn layui-btn-normal layui-btn-fluid" lay-submit=""
                            lay-filter="login">登 入
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>
<script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" src="../lib/jquery-3.4.1/jquery-3.4.1.min.js"
        charset="utf-8"></script>
<script th:src="@{/lib/layui-v2.5.5/layui.js}" src="../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script th:src="@{/lib/jq-module/jquery.particleground.min.js}" src="../lib/jq-module/jquery.particleground.min.js"
        charset="utf-8"></script>
<script th:src="@{/js/particles.js}" src="js/particles.js"></script>
<script th:src="@{/js/app.js}" src="js/app.js"></script>
<script th:src="@{/js/aster.js}" src="../static/js/aster.js" charset="utf-8"></script>
<script th:inline="javascript"> var ctx = [[@{/}]]; var captchaType = [[${captchaType}]]; </script>
<script th:inline="none">
    $(function () {
        validateKickout();
        $('.admin-captcha').click(function () {
            var url = ctx + "captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
            $(".admin-captcha").attr("src", url);
        });
    });

    layui.use(['form'], function () {
        var form = layui.form,
            layer = layui.layer;

        // 登录过期的时候，跳出ifram框架
        if (top.location != self.location) top.location = self.location;

        // 粒子线条背景
        $(document).ready(function () {
            $('.layui-container').particleground({
                dotColor: '#7ec7fd',
                lineColor: '#7ec7fd'
            });
        });

        // 进行注册操作
        form.on('submit(login)', function (data) {
            data = data.field;
            $.ajax({
                url: ctx + "login",
                type: "post",
                dataType: "json",
                data: {
                    username: data.username,
                    password: data.password,
                    validateCode: data.validateCode,
                    rememberMe: data.rememberMe
                },
                beforeSend: function () {
                    layer.load(0, {time: 500});
                },
                success: function (result) {
                    if (result.success) {
                        location.href = ctx + 'index';
                    } else {
                        $("input[name='validateCode']").val('');
                        $('.admin-captcha').click();
                        layer.msg(result.msg, {time: 3000});
                    }
                }
            });
            return false;
        });

    });

    // 同一账号不同地点登录验证
    function validateKickout() {
        if ($.common.getParam("kickout") == 1) {
            layui.use(['layer'], function () {
                var layer = layui.layer;
                layer.alert("<font color='red'>您的账号在另一台设备上登录,如非本人操作，请立即修改密码！</font>", {
                        icon: 0,
                        title: "系统提示"
                    },
                    function(index) {
                        //关闭弹窗
                        layer.close(index);
                        if (top != self) {
                            top.location = self.location;
                        } else {
                            var url  =  location.search;
                            if (url) {
                                var oldUrl  = window.location.href;
                                var newUrl  = oldUrl.substring(0,  oldUrl.indexOf('?'));
                                self.location  = newUrl;
                            }
                        }
                    });
            });
        }
    }
</script>
</body>
</html>